$(function () {
    $('#selectedCoursesTable').bootstrapTable({
        url: '/user/getAllUser',
        method: 'post',
        showRefresh: true,  //显示刷新按钮
        search: true,
        toolbar: '#toolbar',
        striped: true,     //设置为true会有隔行变色效果
        //sidePagination:'server',//服务器端分页默认接受rows和total
        pagination: true,//客户端分页
        sidePagination: 'client',
        idField: 'userInfoId',
        pageNumber: 1,
        pageSize: 10,
        columns: [
            {
                field: 'checkId',
                checkbox: true,
                clickToSelect: true,
            },
            // {
            //     field: 'userInfoId',
            //     title: '用户编号'
            // },
            {
                field: 'userid',
                title: '账号名称'
            }, {
                field: 'name',
                title: '用户姓名'
            }, {
                field: 'githuburl',
                title: '性别',
                formatter: function (githuburl) {
                    if (githuburl === "1") {
                        return "男";
                    } else if (githuburl === "0") {
                        return '女';
                    }
                }
            }, {
                field: 'email',
                title: '邮箱'
            }]
    });
});

var vm = new Vue({
    el: '#teacherSelectCourse',
    data: {
        showList: 1,
        userInfoId: '',
        title: '',
        //添加用户
        user: {},
        user1: {},
        //选课弹窗需要字段
        teacherName: '',
        //tests表需要展示字段
        tests: {courseId: '', title: '', testDesc: ''},
        //角色展示字段
        roles: {userInfoId: '', roleid: '', rolename: '', roledetail: ''},

        pages: {pageid:'',pagename:'',roleid:''}
    },
    methods: {
        //***start选课的方法***
        //选课按钮
        add: function () {
            // 弹出选课对话框
            $('#selectCourseDialog').modal("show");
        },
        // 选课提交按钮
        submit: function () {
            var user1 = {
                "userid": vm.user.userid, "password": vm.user.password, "name": vm.user.name,
                "githubURL": vm.user.githubURL, "email": vm.user.email
            };
            console.log(user1);
            $.ajax({
                type: "POST",//post方法默认是表单数据提交，用requestParameter接收，如果要用jason需要配置在conmmon.js中的第一行有配置
                url: "/user/add",//请求的controller
                data: JSON.stringify(user1),
                success: function (r) {
                    if (r.code === 0) {
                        // layer.close(index);
                        layer.alert('添加成功');
                        // $('#selectCourseDialog').bootstrapTable('destroy');
                        // location.reload();
                        $('#selectedCoursesTable').bootstrapTable('refresh');
                    }
                },
                error: function () {
                    layer.alert('服务器没有返回数据，可能服务器忙，请重试');
                }
            });
        },
        //退选
        del: function () {
            var rows = $("#selectedCoursesTable").bootstrapTable('getSelections');

            if (rows.length == 0) {
                layer.alert('请选择至少一条记录');
                return;
            } else {
                layer.confirm('您确定删除所选的角色吗？', {
                    btn: ['确定', '取消'] //可以无限个按钮
                }, function () {
                    var ids = new Array();
                    //遍历所有选择的行数据，取每条数据对应的ID
                    $.each(rows, function (i, row) {
                        ids[i] = row['userInfoId'];
                    });

                    $.ajax({
                        type: "POST",
                        url: "/user/delete",
                        data: JSON.stringify(ids),
                        success: function (r) {
                            if (r.code === 0) {
                                layer.alert('删除成功');
                                $('#selectedCoursesTable').bootstrapTable('refresh');
                            } else {
                                layer.alert(r.msg);
                            }
                        },
                        error: function () {
                            layer.alert('服务器没有返回数据，可能服务器忙，请重试');
                        }
                    });
                });
            }
        },
        //***end选课的方法***

        //***start实验的方法***
        //查询所有实验
        roleManage: function () {
            var row = $("#selectedCoursesTable").bootstrapTable('getSelections');
            if (row.length == 0) {
                layer.alert('请选择一条记录');
                return;
            } else if (row.length > 1) {
                layer.alert("只能选择一条记录");
                return;
            } else {
                $('#testManageTable').bootstrapTable('destroy');//先销毁表格，不然不会刷信
                var user_info_id1 = row[0].userInfoId;
                // console.log(user_info_id);
                var user_info_id = {"user_info_id": user_info_id1}
                //通过所选的id去查询出当前已经添加的实验
                $(function () {
                    $('#testManageTable').bootstrapTable({
                        url: '/user/getRoleById',
                        method: 'get',
                        queryParams: function (params) {
                            return {
                                user_info_id: user_info_id1
                            };

                        },
                        // data: JSON.stringify(user_info_id),
                        showRefresh: true,  //显示刷新按钮
                        search: true,
                        toolbar: '#toolbar2',
                        striped: true,     //设置为true会有隔行变色效果
                        //sidePagination:'server',//服务器端分页默认接受rows和total
                        pagination: true,//客户端分页
                        sidePagination: 'client',
                        pageNumber: 1,
                        pageSize: 10,
                        columns: [
                            {
                                field: 'checkId',
                                checkbox: true,
                                clickToSelect: true
                            },
                            // {
                            //     field: 'userInfoId',
                            //     title: '用户编号'
                            // },
                            {
                                field: 'userid',
                                title: '用户账号'
                            },

                            {
                                field: 'name',
                                title: '用户姓名'
                            },
                            // {
                            //     field: 'roleid',
                            //     title: '角色编号'
                            // },
                            {
                                field: 'rolename',
                                title: '角色名称'
                            }, {
                                field: 'roledetail',
                                title: '角色描述'
                            }]
                    });
                });
            }
            vm.showList = 2;
        },
        //新增实验
        addRole: function () {
            // 弹出新增实验弹窗
            $('#addTestDialog').modal("show");
            //得到上层选课程时候的courseId
            var row = $("#selectedCoursesTable").bootstrapTable('getSelections');
            // vm.pages.userInfoId = row[0].userInfoId;
            // console.log(vm.roles.userInfoId);
            //回显回显下拉框
            $("#courseName").empty();
            $.ajax({
                type: "get",
                url: "/user/queryRole",
                // data: JSON.stringify(vm.roles.userInfoId),
                // console.log(vm/\)
                success: function (result) {
                    var data = result.allRole;
                    console.log(data);
                    if (result.code === 0 && $("#testName option").val() == null) {
                        for (var i = 0; i < data.length; i++) {
                            $("#testName").append("<option value=" + data[i]['roleid'] + ">" + data[i]['rolename'] + "</option>");
                            // vm.roles.roledetail = data[i]['roledetail'];
                        }
                    } else {
                        // layer.alert(result.msg);
                        $("#testName option").remove();
                        for (var i = 0; i < data.length; i++) {
                            $("#testName").append("<option value=" + data[i]['roleid'] + ">" + data[i]['rolename'] + "</option>");
                            // vm.roles.roledetail = data[i]['roledetail'];
                        }
                    }

                }
            });
        },
        //提交新增实验按钮
        submitAddTest: function () {
            var row = $("#selectedCoursesTable").bootstrapTable('getSelections');
            vm.roles.userInfoId = row[0].userInfoId;
            var roleid = $("#testName option:selected").val();
            // console.log(vm.roles.userInfoId);
            var addrole={"roleid":roleid,"userInfoId":vm.roles.userInfoId};
            // console.log(addrole);
            $.ajax({
                type: "POST",//post方法默认是表单数据提交，用requestParameter接收，如果要用jason需要配置在conmmon.js中的第一行有配置
                url: '/user/addRoleToUser',//请求的controller
                data: JSON.stringify(addrole),//参数
                success: function (r) {
                    if (r.code === 0) {
                        layer.alert('添加成功');
                        // $("#testName option").remove();
                        //更新表格
                        $('#testManageTable').bootstrapTable('refresh');
                    }
                },
                error: function () {
                    layer.alert('服务器没有返回数据，可能服务器忙，请重试');
                }
            });
        },
        //删除实验
        delRole: function () {
            var rows = $("#testManageTable").bootstrapTable('getSelections');

            if (rows.length == 0) {
                layer.alert('请选择至少一条记录');
                return;
            } else {
                layer.confirm('您确定要删除所选实验吗？', {
                    btn: ['确定', '取消'] //可以无限个按钮
                }, function (index, layero) {
                    var ids = new Array();
                    //遍历所有选择的行数据，取每条数据对应的ID
                    $.each(rows, function (i, row) {
                        ids[i] = row['roleid'];
                    });

                    $.ajax({
                        type: "POST",
                        url: "/user/deleteRoleFromUser",
                        data: JSON.stringify(ids),
                        success: function (r) {
                            if (r.code === 0) {
                                layer.alert('删除成功');
                                $('#testManageTable').bootstrapTable('refresh');
                            } else {
                                layer.alert(r.msg);
                            }
                        },
                        error: function () {
                            layer.alert('服务器没有返回数据，可能服务器忙，请重试');
                        }
                    });
                });
            }
        },
        //@
        //查询所有页面

        pageManage: function () {
            var rowPage = $("#testManageTable").bootstrapTable('getSelections');
            if (rowPage.length == 0) {
                layer.alert('请选择一条记录');
                return;
            } else if (rowPage.length > 1) {
                layer.alert("只能选择一条记录");
                return;
            } else {
                $('#pageManageTable').bootstrapTable('destroy');//先销毁表格，不然不会刷信
                var userInfoId= rowPage[0].userInfoId;
                // console.log(roleid);
                // console.log(user_info_id);
                var user_info_id = {"user_info_id": userInfoId};
                //通过所选的id去查询出当前已经添加的实验
                $(function () {
                    $('#pageManageTable').bootstrapTable({
                        url: '/user/getPageById',
                        method: 'get',
                        queryParams: function (params) {
                            return {
                                user_info_id:userInfoId
                            };

                        },
                        // data: JSON.stringify(user_info_id),
                        showRefresh: true,  //显示刷新按钮
                        search: true,
                        toolbar: '#toolbar3',
                        striped: true,     //设置为true会有隔行变色效果
                        //sidePagination:'server',//服务器端分页默认接受rows和total
                        pagination: true,//客户端分页
                        sidePagination: 'client',
                        pageNumber: 1,
                        pageSize: 10,
                        columns: [
                            {
                                field: 'checkId',
                                checkbox: true,
                                clickToSelect: true
                            },
                            {
                                field: 'userid',
                                title: '用户账号'
                            },
                            {
                                field: 'name',
                                title: '用户姓名'
                            },
                            // {
                            //     field: 'roleid',
                            //     title: '角色编号'
                            // },
                            {
                                field: 'rolename',
                                title: '角色名称'
                            },
                            // {
                            //     field: 'pageid',
                            //     title: '页面编号'
                            // },
                            {
                                field:'pagename',
                                title:'页面名称'
                            }]
                    });
                });
            }
            vm.showList = 3;
        },
        //新增页面
        addPage: function () {
            // 弹出新增实验弹窗
            $('#addPageDialog').modal("show");
            //得到上层选课程时候的courseId
            var row = $("#TestManageTable").bootstrapTable('getSelections');
            // vm.pages.roleid = row[0].roleid;

            // console.log(vm.roles.userInfoId);
            //回显回显下拉框
            $("#courseName").empty();
            $.ajax({
                type: "get",
                url: "/user/queryPage",
                // data: JSON.stringify(vm.roles.userInfoId),
                // console.log(vm/\)
                success: function (result) {
                    var data = result.allPage;
                    // console.log(data);
                    if (result.code === 0 && $("#pageName option").val() == null) {
                        for (var i = 0; i < data.length; i++) {
                            $("#pageName").append("<option value=" + data[i]['pageid'] + ">" + data[i]['pagename'] + "</option>");
                            // vm.roles.roledetail = data[i]['roledetail'];
                        }
                    } else {
                        // layer.alert(result.msg);
                        $("#pageName option").remove();
                        for (var i = 0; i < data.length; i++) {
                            $("#pageName").append("<option value=" + data[i]['pageid'] + ">" + data[i]['pagename'] + "</option>");
                            // vm.roles.roledetail = data[i]['roledetail'];
                        }
                    }

                }
            });
        },
        //提交新增实验按钮
        submitAddPage: function () {
            var row1 = $("#testManageTable").bootstrapTable('getSelections');
            vm.pages.roleid=row1[0].roleid;
            // console.log(row1[0].roleid);
            var pageid = $("#pageName option:selected").val();
            // console.log(pageid);
            // console.log(vm.pages.roleid);
            var addpage={"roleid":vm.pages.roleid,"pageid":pageid};
            // console.log(addpage);
            // var user_info_id=
            $.ajax({
                type: "POST",//post方法默认是表单数据提交，用requestParameter接收，如果要用jason需要配置在conmmon.js中的第一行有配置
                url: '/user/addPageToRole',//请求的controller
                data: JSON.stringify(addpage),//参数
                success: function (r) {
                    if (r.code === 0) {
                        layer.alert('添加成功');
                        // $("#testName option").remove();
                        //更新表格
                        $('#pageManageTable').bootstrapTable('refresh');
                    }
                },
                error: function () {
                    layer.alert('服务器没有返回数据，可能服务器忙，请重试');
                }
            });
        },
        //
        //删除页面
        delPage: function () {
            var rows2 = $("#pageManageTable").bootstrapTable('getSelections');
                // console.log(rows2);
            if (rows2.length == 0) {
                layer.alert('请选择至少一条记录');
                return;
            } else {
                layer.confirm('您确定要删除所选页面吗？', {
                    btn: ['确定', '取消'] //可以无限个按钮
                }, function (index, layero) {
                    var ids = new Array();
                    //遍历所有选择的行数据，取每条数据对应的ID
                    $.each(rows2, function (i, row) {
                        ids[i] = row['pageid'];
                        // console.log(row['pageid']);
                    });
                    console.log(ids);
                    $.ajax({
                        type: "POST",
                        url: "/user/deletePageFromRole",
                        data: JSON.stringify(ids),
                        success: function (r) {
                            if (r.code === 0) {
                                layer.alert('删除成功');
                                $('#pageManageTable').bootstrapTable('refresh');
                            } else {
                                layer.alert(r.msg);
                            }
                        },
                        error: function () {
                            layer.alert('服务器没有返回数据，可能服务器忙，请重试');
                        }
                    });
                });
            }
        },


        //返回课程表
        backToCourse: function () {
            vm.showList = 1
        },
        //返回role表
        backToRole: function () {
            vm.showList = 2
        }

    }
    //***end实验的方法***

})

